//#include <iostream>
//#include <string>
//#include <vector>
//
//using namespace std;
//
//vector<vector<int>> BinaryTree;
//vector<string> OriginalStringTree;
//
//const char number[10] = {'0','1','2','3','4','5','6','7','8','9'};
//
//int GetData()
//{
//	int N = 1;
//	while (true)
//	{
//		cin>>N;	
//		if (N == 0)
//		{
//			break;
//		}
//
//		string str;
//		cin>>str;
//		if (ClearData(str) == 0)
//		{
//			return 0;
//		}		
//
//		for (int i=0; i<N; i++)
//		{
//			cin>>str;
//			if (ClearData(str) == 0)
//			{
//				return 0;
//			}
//		}		
//	}
//
//	return 1;
//}
//
//int ClearData(string str)
//{
//	OriginalStringTree.push_back(str);
//
//	int ilen = str.size();
//
//	if (ilen >= 10)
//	{
//		return 0;
//	}
//
//	for (int i=0; i<ilen; i++)
//	{
//		for (int j=0; j<ilen; j++)
//		{
//			if (str[i] == str[j] && i != j)
//			{
//				return 0;
//			}
//		}
//	}
//
//	vector<int> SingleBinaryTree;
//	for (int i=0; i<ilen; i++)
//	{
//		int iCount = 0;
//		while(str[i] != number[iCount])
//		{
//			iCount++;
//		}
//		SingleBinaryTree.push_back(iCount);
//	}
//
//	BinaryTree.push_back(SingleBinaryTree);
//
//	return 1;
//}
//
//void Display()
//{
//	int ilen = OriginalStringTree.size();
//	for (int i=0; i<ilen; i++)
//	{
//		cout<<OriginalStringTree[i]<<endl;
//	}
//
//	for (int i=0; i<ilen; i++)
//	{
//		int jlen = BinaryTree[i].size();
//		for (int j=0; j<jlen; j++)
//		{
//			cout<<BinaryTree[i][j];
//		}
//		cout<<endl;
//	}
//
//}
//
//int main()
//{
//	GetData();
//	
//	Display();
//
//	int k;
//	cin>>k;
//	return 1;
//}
//
